1. Field of the Invention
This invention relates to signal sensors, and in particular to correcting corrupted elements in such sensors.
2. Description of Related Art
Several types of sensors exist for capturing data of various signals, such as sound or image signals. These sensors typically sample a portion of the signal and translate that sample into a numerical value. The sum of all the translated samples are then processed to recreate the captured data. An example of a two-dimensional sensor is an image sensor, which converts incident light to voltage levels. Generally, the image is divided up into squares in a grid, with each square in the grid referred to as a pixel or sample. The image at each pixel is sampled by the sensor and translated into a numerical value proportional to the light intensity at the pixel. For color images, the light intensity is measured for each of the three primary colors red, green, and blue. Note that as the size of the pixels decrease and the number of pixels increase for the image, the resolution of the image increases.
FIG. 1 is a block diagram of a typical imaging system 100 with an image sensor 105. An image 110 is divided up into an array of pixels, with each pixel being sampled by image sensor 105 and then translated into a numerical value. Image sensor 105 can be, for example, a charge-coupled device (CCD), a CMOS device, a vidicon tube, or any other suitable image sensing device which converts the light falling on it from an image into an electrical signal. For example, if image sensor 105 is based on a CCD (such as in a digital camera), the image sensor comprises a chip having an array of photoelectric elements, such as photodiode cells, with each photodiode cell converting an associated pixel to an electrical signal, such as a voltage. As more light falls onto the photodiode cells, more charge accumulates in the cells. The CCD is constructed such that the photodiode cells, which convert the intensity of light into an electric charge, are arranged in a matrix. The electric charge generated in each sensor element is transferred in vertical and horizontal directions, through the CCD array, to the output. After an integration period, the charge is read out from the cells and processed in a suitable analog signal processing circuit 115.
Analog processing circuit 115 processes the captured image from image sensor 105. The processing circuit 115 can include a correlated double sampling (CDS) circuit, a gain adjust circuit, and an offset adjust circuit (all not shown for simplicity) and can be used to perform various functions such as CDS for reduction of low frequency read-out noise from the image sensor and offset of sense amplifiers, color filter array (CFA) interpolation algorithms for color, gamma correction, white balancing, and automatic gain control (AGC) for optimizing the dynamic range of the signal. The processed image signal can then be used for further processing to display a reconstructed image 125 of the original image 110, such as through a visual display 120, which can be a color LCD or a black and white display. The processed analog image signal can also be transmitted to a digital signal processing circuit 130 for conversion to a digital signal, such as with encoding and compression (e.g., according to JPEG). The resulting digital data can then be used or stored in digital memories, such as memory cards.
However, variances across the image sensor can result in a distorted image on display 120 or in the stored memory. If some of the photodiode cells or elements in the image sensor are damaged or have characteristics different from other cells, the weight of the corresponding pixels can be changed in relation to neighboring pixels. The resulting signal from the image sensor thus contains errors, which manifest themselves after signal processing, as a distorted image on the visual display. Depending on the amount of error and the proximity of other varying sensor elements, adverse effects such as xe2x80x9cbloomingxe2x80x9d and xe2x80x9csparklexe2x80x9d can be introduced to the final image.
Variations in the sensor elements are caused by defects during the manufacturing process of the image sensor, as well as normal variations in the manufacturing process. Thus, it is difficult to build a sensor where every sensing element is uniform and perfect. This problem magnifies as the size of the sensor increases and/or the physical size of the sensor elements decreases. In most applications, the quality of the reproduced image is particularly important, especially in high-end imaging applications.
One way of ensuring that faulty or non-comforming sensors are not used is to maintain very tight quality constraints and test criteria before shipping the sensor to the user. Examples of possible types of constraints and criteria include requiring a certain number of sensor elements to meet or exceed a quality threshold or requiring the variance across a portion or portions of the sensor to be smaller than a maximum acceptable value. If a sensor fails to meet these constraints and criteria, that sensor is rejected as having too many bad or inferior sensor elements. Implementing this method requires complex algorithms to test the sensors, which can significantly increase manufacturing and production time, thereby reducing throughput. Furthermore, a large percentage of sensors may be rejected, which increases the cost per yielded sensor. These problems increase as sensor resolutions increase because the probability of having a bad or inferior cell goes up as the number of sensor elements increases and the size of the individual sensor element decreases. Although preventing bad sensors from being shipped to the user, this method does not address errors with the cells after the sensor is shipped, e.g., cell degradation or damage from prolonged use or exposure.
Another method involves measuring the response from each sensor element and mapping all the responses of the sensing elements that have non-conforming responses. This mapping is then used by the sensor manufacturer to map out the errors in the individual elements prior to shipping. In this manner, a faulty sensor is not automatically rejected, but rather, the faulty elements within the sensor are corrected. However, coordinating the transfer of error data for each and every sensor element is difficult. Some vendors address this by using memory embedded with the sensor, which increases the cost and complexity to the sensor. Furthermore, the sensor element response data cannot be updated after the sensor has been shipped, thereby preventing future corrections of the sensor after shipment.
Therefore, an effective method of correcting corrupted sensor element outputs is desired which overcomes the deficiencies as discussed above.
In accordance with the invention, modification or correction values are stored in a programmable analog/multi-level non-volatile memory array. These values are used to adjust associated outputs from elements of a sensor array for further processing to achieve a desired output. The modification values can be used for a variety of purposes, such as low or high offset voltage correction (by adding or subtracting, respectively, the corresponding modification value), low gain correction (by multiplying the corresponding modification value), or gamma correction (by multiplying the corresponding gamma correction factor) for visual displays.
The analog/multi-level memory array can be erased and re-programmed when modification values need to be changed, e.g., when elements of the sensor array change, such as through time, exposure to the elements, by physical damage, etc. As a result, the output of a sensor array can be maintained at a desired level of quality even as the individual sensor elements change. Furthermore, because errors introduced into sensor output voltages by faulty or non-uniform sensor elements are corrected prior to signal reconstruction, the eventual reconstructed signal is a truer representation of the original signal.
In some embodiments, the memory cells in the memory array have a one-to-one correspondence with the pixel representations from the sensor array. Thus, each output of the sensor array and the corresponding voltage in the memory cell are supplied to a modification circuit for performing the desired modifications. For example, if the desired modifications include correcting for low offset voltages, high offset voltages, low gain, and gamma correction, the modification circuit can include a summing circuit for adding offset voltages stored in a memory array to sensor output voltages, a subtractor circuit for subtracting offset voltages stored in a memory array from sensor output voltages, and an amplifier circuit for multiplying gain voltages and gamma correction voltages stored in memory arrays with sensor output voltages. These circuits can be included separately in the modification circuit or in various combinations of each other.
In other embodiments, the memory array or arrays are smaller in size than the sensor output array. In these embodiments, a decoder is added to the sensor system for determining whether each sensor element output requires modification. When a sensor element needs modification, the decoder determines the address of the memory cell in the memory array corresponding to the sensor element. This corresponding pair is supplied to the modification circuit for performing the desired modification. Sensor outputs not needing modification bypass the modification circuit.
The present invention will be more fully understood upon consideration of the detailed description below, taken together with the accompanying drawings.